#include "LireNomCapa.h"

#include "debugstreams.h"

using namespace std;

/**
 * Constructeur par défaut, initialise le pointeur sur le conteneur.
 *
 * @param ls pointeur sur le conteneur de ListCapa, par défaut 0.
 */
LireNomCapa::LireNomCapa( const vector< ListCapa > * ls )
  : lsCapa( ls )
{}

/**
 * Destructeur, ne fait rien de spécial.
 */
LireNomCapa::~LireNomCapa()
{}

/**
 * Méthode qui donne accès au nom de la capacité à partir de l'indice
 * donnée en argument.
 *
 * @param i numéro de la capacité voulue.
 * @return nom de la capacité désirée.
 */
string LireNomCapa::operator()( const unsigned int& i ) const
{
  Debug::empileNiveau();

  if ( lsCapa == 0 )
    {
      warning() << "LireNomCapa::lsCapa non initialisé" << endreq;
      return "";
    }
  
  debug() << lsCapa -> at(i) << endreq;
  
  Debug::depileNiveau();
  return ( lsCapa -> at(i) ). Capa;
}

/**
 * Permet de redéfinir le pointeur lsCapa, ce qui permet d'utiliser
 * une même instance pour plusieurs usages.
 */
void LireNomCapa::setCapa( const vector< ListCapa >* ls )
{
  lsCapa = ls;
}
